草庐IT

iphone - 单例 managedObjectContext

全部标签

C# 单例对象的多个实例

我对单例模式有疑问。这真的很奇怪,但看起来我的单例模式有两三个实例。我的网站是一个带有计时器的操作网站,我正在使用我的Singleton对象处理这些计时器和价格。发生的情况是有些人看到一些价格,而其他人在不同的网络中总是看到其他价格。例如,在我的办公室,我的人看到一些拍卖价格为0.56美分,每个人都看到相同的价格,但在另一个网络中,例如我的房子,我看到的是0.55美分,而且计时器也有不同的值。话虽如此,我已经通过生成一个GUID并将其记录在我的日志文件中来测试我的Singleton。这是一些代码publicclassSingleton{privatestaticSingletonins

c# - 正确处理单例 IDisposable 对象

场景:应用程序实例化实现了IDisposable的类的单个实例。该实例通过静态成员公开,使其可供应用程序的所有部分访问。单个实例需要在应用程序的生命周期内保持事件状态。问题在应用程序关闭和进程终止之前调用Dispose方法有多重要?我一直认为在大多数像这样的场景中,没有必要调用Dispose,因为进程的终止自然会清理资源。我错了吗? 最佳答案 如果“您的应用程序关闭”是指进程正在终止,那么您技术上不需要做任何事情。您的进程正在终止,操作系统将释放这些资源。我想它们可能是一些模糊的极端情况,其中某些组件可能会创建某种类型的文件或其他资

c# - 抽象单例背后的 IoC 容器——做错了吗?

一般来说,我喜欢让应用程序完全不了解IoC容器。但是我遇到了需要访问它的问题。为了消除痛苦,我使用了一个基本的单例。在你跑到山上或拔出霰弹枪之前,让我回顾一下我的解决方案。基本上,IoC单例绝对什么都不做,它只是委托(delegate)给一个必须传入的内部接口(interface)。我发现这使得使用单例的工作不那么痛苦。下面是IoC包装器:publicstaticclassIoC{privatestaticIDependencyResolverinner;publicstaticvoidInitWith(IDependencyResolvercontainer){inner=conta

c# - 为什么 C# 6.0 中的单例实现不需要 beforefieldinit 标志?

我试图理解为什么这是单例模式的正确实现:publicsealedclassSingleton:ISingleton{publicstaticSingletonInstance{get;}=newSingleton();privateSingleton(){}//methods}beforefieldinit标志怎么样?根据JonSkeetarticle:Thelazinessoftypeinitializersisonlyguaranteedby.NETwhenthetypeisn'tmarkedwithaspecialflagcalledbeforefieldinit.Unfortu

c# - wpf - 将数据上下文绑定(bind)到单例类的静态属性

我发现自己对我的App类使用了很多单独的绑定(bind)来存储属性,这导致我遇到了无法追踪的stackoverflow异常。我现在决定将这些属性移动到一个单独的单例ApplicationInfo类,但我在绑定(bind)方面遇到了一些问题。如果我直接绑定(bind)到我的类的成员属性,例如CurrentUser,那么它工作正常。但是,当我尝试将数据上下文绑定(bind)到此类时,我遇到了编译器错误,而且我确信我忽略了一些简单的修改。我已经从此类中创建了一个单例,但现在当我尝试编译时,我收到错误“未知构建错误-键不能为空”,它指向我的Datacontext绑定(bind)以获取错误消息。

C# 单例线程安全

我有一个类似这样的单例类publicclassSingleton{privatestaticSingletonm_instance;privateTimerm_timer;privatestaticListm_cacheObjects;privateSingleton(){m_cacheObjects=newList();m_timer=newTimer(MyTimerCallBack,null,TimeSpan.FromSeconds(60),TimeSpan.FromSeconds(60));}publicstaticSingletonInstance{get{if(m_insta

c# - 单例记录器、静态记录器、工厂记录器……如何记录?

我正在为用.NET编写的应用程序包装模式和实践企业库日志记录应用程序block。我希望能够对记录器进行子类化(即提供特定于域的日志记录)。执行此操作的最佳方法是什么?例如,目前我有一个静态Logger类,但这不允许我将它专门用于特定领域的日志记录。例如,Log(MyDomainObjobj,stringmsg) 最佳答案 查看NLog.他们使用这种模式:privatestaticLoggermyDomainLogger=LogManager.GetCurrentClassLogger();然后您可以根据myDomainLogger所

c# - 使用自动属性实现单例是个好主意吗?

我最近发现了自动属性并且非常喜欢它们。此时此刻,我正试图在任何可能的地方使用它们。不仅仅是为了能够在任何地方使用它们,而是更多地了解它们在大多数情况下的工作情况。现在我正在制作一个单例并想:“嘿,让我们在这里也试试自动属性”。publicclassMySingleton{publicstaticMySingletonMySingleton{get;privateset;}privateMySingleton(){}staticMySingleton(){MySingleton=newMySingleton();}}所以我的问题是:“像这样实现单例是个好主意吗?”我不是在问一般情况下单例

c# - 如何确定 Dbcontexts 的范围(以防止整个应用程序的单例上下文)

我想知道您如何在EntityFramework中确定Dbcontext的范围,这样您就不会为整个应用程序使用单个Dbcontext。我是EntityFramework的新手并且一直在阅读教程,但他们都使用单个Dbcontext作为示例,因此EF现在对我来说几乎是一个黑盒子。例如我有3个模型:发布用户评论每个模型都相互关联(APost属于User,Comment属于User和Post)。我是否为每个单独创建一个Dbcontext?但这是不正确的,因为它们都是相关的,或者我会为我需要的每个场景创建一个Dbcontext吗?例如,如果我只需要查询Post和Comments而不是用户,那将是一

c# - CaSTLe Windsor - 我是否必须释放单例或非一次性 transient 对象?

Castlewiki在几个地方说我应该总是为通过容器解析的组件调用container.Release()。这对于复杂的生活方式管理技术(例如LifeStyle.Pooled)或使用专门设施时显然是有意义的......但我真的必须释放单例(它在容器被处理之前一直存在)和非一次性transient对象吗?如果我逐步执行对transient对象或单例的Release()调用,这些调用似乎多余的-例如在transient对象未实现IDisposable的情况下,内核只是注意到它没有跟踪对象并返回...似乎有一个“组件负担”的概念来跟踪对解析transient对象时可能构造的其他一次性组件的“间